﻿namespace NewRetail.Application.Components.WechatOrAlipayPayment.Model
{
    /// <summary>
    /// 支付输入
    /// </summary>
    public class AlipayTradeWapPayViewDto
    {
        public string PayBody { get; set; }
        public string PayOutTradeNo { get; set; }
        public string PaySubject { get; set; }
        public string ProductCode { get; set; }
        public string TotalAmount { get; set; }
    }
    /// <summary>
    /// 支付返回结果
    /// </summary>
    public class PayResultShowDto
    {
        public string PayResultData { get; set; }
    }
    /// <summary>
    /// 支付查询输入
    /// </summary>
    public class AlipayTradeQueryDto
    {
        public string OutTradeNo { get; set; }
        public string TradeNo { get; set; }
    }
    /// <summary>
    /// JSAPI下单输入参数
    /// </summary>
    public class CreateOrderByJsapiRequestDto
    {
        public string MerchantId { get; set; } = default!;

        public string AppId { get; set; } = default!;

        public string OpenId { get; set; } = default!;
        public string OutTradeNumber { get; set; }
        /// <summary>
        /// 充值金额，单位：分
        /// </summary>
        public int Amount { get; set; }
        /// <summary>
        /// 赠送金额，单位：分
        /// </summary>
        public int GiftAmount { get; set; }
        /// <summary>
        /// 描述
        /// </summary>
        public string Description { get; set; } = default!;
    }

    /// <summary>
    /// JSAPI商户订单号查询输入参数
    /// </summary>
    public class PayTransactionByOutTradeNumberRequestDto
    {
        public string MerchantId { get; set; } = default!;

        public string AppId { get; set; } = default!;

        /// <summary>
        /// 订单号
        /// </summary>
        public string OutTradeNumber { get; set; }
    }

    public class WeChatPayTransactionJsapiShowDto
    {
        public string appId { get; set; }
        public string timestamp { get; set; }
        public string nonceStr { get; set; }
        public string package { get; set; }
        public string signType { get; set; }
        public string paySign { get; set; }
    }
}
